---
title: AutoAlign 自动对齐
icon: LayoutGrid
relatedFile: app/src/core/stage/stageManager/concreteMethods/StageAutoAlignManager.tsx
---

自动对齐与布局管理，主要负责在画布上对齐和布局实体（如节点）。它提供了多种对齐功能，包括将选定实体对齐到网格，以及将选定实体吸附到其他实体。此外，它还支持树形结构的自动布局。

## 核心功能

### 实体对齐

服务能够将用户选择的实体对齐到预设的网格线上，确保布局的整齐性。它还实现了实体间的吸附功能，当实体移动到接近其他实体时，会自动调整位置以实现精确对齐。在实体移动过程中，服务会提供实时的对齐反馈，通过视觉效果帮助用户预览对齐结果。

### 树形结构自动布局

除了基本的对齐功能，服务还提供了针对树形结构的自动布局能力。用户可以选择一个树形结构的根节点，服务将根据预设的布局模式（如向右或向下）自动调整树中所有节点的位置，以优化其视觉呈现和可读性。

## API

### `alignAllSelectedToGrid()`

将所有选定的实体对齐到网格。此方法会遍历当前选中的所有实体，并根据预设的网格尺寸调整它们的位置，使其边缘或中心与网格线对齐。

### `alignAllSelected()`

执行选定实体的吸附操作。当用户释放鼠标时，此方法会检查选定实体是否接近其他未选中的实体，并自动将其吸附到最近的对齐位置，实现精确连接或排列。

### `preAlignAllSelected()`

提供预对齐的视觉反馈。在实体移动过程中，此方法会计算潜在的对齐位置，并通过渲染特效（如矩形框或对齐线）向用户展示对齐效果，帮助用户进行精确放置。

### `autoLayoutSelectedFastTreeModeRight(selectedRootEntity: ConnectableEntity)`

对选定的树形结构进行向右的快速自动布局。此方法会以指定的根实体为起点，自动调整其子节点及其后代节点的位置，使其在画布上呈现为从左到右展开的树状结构。

### `autoLayoutSelectedFastTreeModeDown(selectedRootEntity: ConnectableEntity)`

对选定的树形结构进行向下的快速自动布局。此方法会以指定的根实体为起点，自动调整其子节点及其后代节点的位置，使其在画布上呈现为从上到下展开的树状结构。
